﻿using System;
using System.Runtime.CompilerServices;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

namespace AppDataStruct
{
    /// <summary>
    /// 外国人预受理申请信息数据结构
    /// </summary>
    [Serializable]
    [XmlRoot("PreApplyInfo")]
    public class PreApplyInfo_FR
    {
        /// <summary>
        /// 业务编号
        /// </summary>
        private string _ywbh;
        [XmlElement("YWBH")]
        public string YWBH
        {
            get { return _ywbh; }
            set { _ywbh = value; }
        }

        /// <summary>
        /// 申请类别（字典956）
        /// </summary>
        private CodeMap _sqlb = new CodeMap();
        [XmlElement("SQLB")]
        public CodeMap SQLB
        {
            get { return _sqlb; }
            set { _sqlb = value; }
        }

        /// <summary>
        /// 申请事由（字典 218）
        /// </summary>
        private CodeMap _sqsy = new CodeMap();
        [XmlElement("SQSY")]
        public CodeMap SQSY
        {
            get { return _sqsy; }
            set { _sqsy = value; }
        }

        /// <summary>
        /// 办证类型（字典916）
        /// </summary>
        private CodeMap _bzlx = new CodeMap();
        [XmlElement("SZLX")]
        public CodeMap SZLX
        {
            get { return _bzlx; }
            set { _bzlx = value; }
        }

        /// <summary>
        /// 现持签证种类（字典 206）
        /// </summary>
        private CodeMap _xcqzzl = new CodeMap();
        [XmlElement("XCQZZL")]
        public CodeMap XCQZZL
        {
            get { return _xcqzzl; }
            set { _xcqzzl = value; }
        }

        /// <summary>
        /// 中文姓名
        /// </summary>
        private string _zwxm;
        [XmlElement("ZWXM")]
        public string ZWXM
        {
            get { return _zwxm; }
            set { _zwxm = value; }
        }

        /// <summary>
        /// 英文姓名
        /// </summary>
        private string _ywxm;
        [XmlElement("YWXM")]
        public string YWXM
        {
            get { return _ywxm; }
            set { _ywxm = value; }
        }

        /// <summary>
        /// 英文姓
        /// </summary>
        private string _ywx;
        [XmlElement("YWX")]
        public string YWX
        {
            get { return _ywx; }
            set { _ywx = value; }
        }

        /// <summary>
        /// 英文名
        /// </summary>
        private string _ywm;
        [XmlElement("YWM")]
        public string YWM
        {
            get { return _ywm; }
            set { _ywm = value; }
        }

        /// <summary>
        /// 国家地区
        /// </summary>
        private string _gjdq;
        [XmlElement("GJDQ")]
        public string GJDQ
        {
            get { return _gjdq; }
            set { _gjdq = value; }
        }

        /// <summary>
        /// 境内居住地详细地址
        /// </summary>
        private string _jnjzdxxdz;
        [XmlElement("JNJZDXXDZ")]
        public string JNJZDXXDZ
        {
            get { return _jnjzdxxdz; }
            set { _jnjzdxxdz = value; }
        }

        /// <summary>
        /// 工作单位名称
        /// </summary>
        private string _gzdwmc;
        [XmlElement("GZDWMC")]
        public string GZDWMC
        {
            get { return _gzdwmc; }
            set { _gzdwmc = value; }
        }

        /// <summary>
        /// 工作单位所在地详细地址
        /// </summary>
        private string _gzdwszdxxdz;
        [XmlElement("GZDWSZDXXDZ")]
        public string GZDWSZDXXDZ
        {
            get { return _gzdwszdxxdz; }
            set { _gzdwszdxxdz = value; }
        }

        /// <summary>
        /// 性别
        /// </summary>
        private CodeMap _xb = new CodeMap();
        [XmlElement("XB")]
        public CodeMap XB
        {
            get { return _xb; }
            set { _xb = value; }
        }

        /// <summary>
        /// 出生日期
        /// </summary>
        private string _csrq;
        [XmlElement("CSRQ")]
        public string CSRQ
        {
            get { return _csrq; }
            set { _csrq = value; }
        }

        /// <summary>
        /// 出生地
        /// </summary>
        private string _csd;
        [XmlElement("CSD")]
        public string CSD
        {
            get { return _csd; }
            set { _csd = value; }
        }

        /// <summary>
        /// 境内联系电话
        /// </summary>
        private string _jnlxdh;
        [XmlElement("JNLXDH")]
        public string JNLXDH
        {
            get { return _jnlxdh; }
            set { _jnlxdh = value; }
        }

        /// <summary>
        /// 紧急联系人姓名
        /// </summary>
        private string _jjlxr;
        [XmlElement("JJLXR")]
        public string JJLXR
        {
            get { return _jjlxr; }
            set { _jjlxr = value; }
        }

        /// <summary>
        /// 紧急联系人电话
        /// </summary>
        private string _jjlxdh;
        [XmlElement("JJLXDH")]
        public string JJLXDH
        {
            get { return _jjlxdh; }
            set { _jjlxdh = value; }
        }       

        private string zzzppath;
        [XmlElement("ZZZPPATH")]
        public string ZZZPPATH
        {
            get { return zzzppath; }
            set { zzzppath = value; }
        }

        /// <summary>
        /// 现场人像
        /// </summary>
        private string xcrx;
        [XmlElement("XCRX")]
        public string XCRX
        {
            get { return xcrx; }
            set { xcrx = value; }
        }

        /// <summary>
        /// 手写签名
        /// </summary>
        private string _sxqm_zip;
        [XmlElement("SXQM_ZIP")]
        public string SXQM_ZIP
        {
            get { return _sxqm_zip; }
            set { _sxqm_zip = value; }
        }

        /// <summary>
        /// 现持证件号码
        /// </summary>
        private string _xczjhm;
        [XmlElement("XCZJHM")]
        public string XCZJHM
        {
            get { return _xczjhm; }
            set { _xczjhm = value; }
        }

        /// <summary>
        /// 现持证件种类（字典 903）
        /// </summary>
        private string _xczjzl;
        [XmlElement("XCZJZL")]
        public string XCZJZL
        {
            get { return _xczjzl; }
            set { _xczjzl = value; }
        }

        /// <summary>
        /// 现持证件有效期至
        /// </summary>
        private string _xczjyxqz;
        [XmlElement("XCZJYXQZ")]
        public string XCZJYXQZ
        {
            get { return _xczjyxqz; }
            set { _xczjyxqz = value; }
        }

        /// <summary>
        /// 现持签证停留天数
        /// </summary>
        private int _xctlts;
        [XmlElement("XCTLTS")]
        public int XCTLTS
        {
            get { return _xctlts; }
            set { _xctlts = value; }
        }

        /// <summary>
        /// 现持签证号码
        /// </summary>
        private string _xcqzhm;
        [XmlElement("XCQZHM")]
        public string XCQZHM
        {
            get { return _xcqzhm; }
            set { _xcqzhm = value; }
        }

        /// <summary>
        /// 现持签证有效期至
        /// </summary>
        private string _xcqzyxqz;
        [XmlElement("XCQZYXQZ")]
        public string XCQZYXQZ
        {
            get { return _xcqzyxqz; }
            set { _xcqzyxqz = value; }
        }

        /// <summary>
        /// 现持停留有效期至
        /// </summary>
        private string _xctlyxqz;
        [XmlElement("XCTLYXQZ")]
        public string XCTLYXQZ
        {
            get { return _xctlyxqz; }
            set { _xctlyxqz = value; }
        }

        /// <summary>
        /// 现持停留有效期至
        /// </summary>
        private string _tlyxqz;
        [XmlElement("TLYXQZ")]
        public string TLYXQZ
        {
            get { return _tlyxqz; }
            set { _tlyxqz = value; }
        }


        /// <summary>
        /// 现持签证入境次数（字典 213）
        /// </summary>
        private CodeMap _xcqzrjcs = new CodeMap();
        [XmlElement("XCQZRJCS")]
        public CodeMap XCQZRJCS
        {
            get { return _xcqzrjcs; }
            set { _xcqzrjcs = value; }
        }

        /// <summary>
        /// 现持签证（居留许可） 签发机关 （字典 908）
        /// </summary>
        private CodeMap _xcqzqfjg = new CodeMap();
        [XmlElement("XCQZQFJG")]
        public CodeMap XCQZQFJG
        {
            get { return _xcqzqfjg; }
            set { _xcqzqfjg = value; }
        }

        /// <summary>
        /// 签证有效次数（字典 213）
        /// </summary>
        private CodeMap _qzyxcs = new CodeMap();
        [XmlElement("QZYXCS")]
        public CodeMap QZYXCS
        {
            get { return _qzyxcs; }
            set { _qzyxcs = value; }
        }        

        /// <summary>
        /// 身份
        /// </summary>
        private string _sf;
        [XmlElement("SF")]
        public string SF
        {
            get { return _sf; }
            set { _sf = value; }
        }

        /// <summary>
        /// 入境口岸
        /// </summary>
        private string _rjka;
        [XmlElement("RJKA")]
        public string RJKA
        {
            get { return _rjka; }
            set { _rjka = value; }
        }

        /// <summary>
        /// 入境日期
        /// </summary>
        private string _rjrq;
        [XmlElement("RJRQ")]
        public string RJRQ
        {
            get { return _rjrq; }
            set { _rjrq = value; }
        }

        /// <summary>
        /// 电子邮件
        /// </summary>
        private string _email;
        [XmlElement("EMAIL")]
        public string EMAIL
        {
            get { return _email; }
            set { _email = value; }
        }
    }
}

